package com.sdy.dataexchange.meta.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.sdy.dataexchange.biz.model.ExDbDict;
import com.sdy.dataexchange.meta.model.MetadataMjMapping;
import com.sdy.dataexchange.meta.model.MetadataModel;
import com.sdy.dataexchange.meta.model.MetadataModelLog;
import com.sdy.mvc.service.BaseService;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author wyy
 * @since 2019-10-25
 */
public interface MetadataModelService extends BaseService<MetadataModel> {
    /**
     * 查看数据库底下是否有 模型
     *
     * @param dbId
     * @return
     */
    Integer queryDbMetadataModel(Integer dbId, ExDbDict exDbDict);

    List<MetadataModel> queryDbMetadataModel(Integer dbId, ExDbDict exDbDict, Page<MetadataModel> page);


    /**
     * 查询历史表模型
     * @param dbId
     * @return
     */
    List<MetadataModel> queryDbTabMod(Integer dbId);

    List<MetadataModel> queryAllTabMod();



    /**
     * 查询库里面的表模型
     * @param exDbDictc
     * @return
     */
    List<MetadataModel> queryAllTabMod(ExDbDict exDbDictc);


    /**
     *把查到的mod  存到表中
     * @param models
     * @return
     */
    Integer addAllTabMod(List<MetadataModel> models);

    /**
     * 删除指定表模型
     * @param dbId
     * @return
     */
    Integer delByIdTabMod(Integer dbId,String tabName);

    /**
     * 根据数据源id  表名称 查询表 ID
     * @param dbId
     * @param tabName
     * @return
     */
    List<MetadataModel> queryByIdTabMod(Integer dbId,String tabName);



    Integer addByTabMod(MetadataModel metadataModel);

    /**
     * 查询库ID下 所有表模型
     * @return
     */
    List<MetadataModel> queryByDbIdMod(Integer dbId);



}
